package com.situ.service;

import com.situ.dao.RoleDao;
import com.situ.dao.RoleMenuDao;
import com.situ.entity.Role;
import com.situ.vo.RoleVO;
import com.situ.vo.TableVO;

import java.util.List;

public class RoleService {

    RoleDao dao = new RoleDao();
    RoleMenuDao rmDao = new RoleMenuDao();

    public TableVO select(String name, Integer page, Integer limit) {
        TableVO vo = new TableVO();
        vo.setCount(dao.count(name));
        vo.setData(dao.select(name, page, limit));
        return vo;
    }

    public void delete(Integer id) {
        dao.delete(id);
    }

    public void save(Role role) {
        if (role.getId() == null) {
            dao.insert(role);
        } else {
            dao.update(role);
        }
    }

    public Role info(Integer id) {
        List<Role> list = dao.info(id);
        if (!list.isEmpty()) {
            return list.get(0);
        }
        return null;
    }

    public List<RoleVO> all(Integer uid) {
        return dao.all(uid);
    }

    public void menu(Integer rid, String mid) {

        //删除原来保存的关系
        rmDao.delete(rid);

        for (String id : mid.split(",")) {
            rmDao.insert(rid, Integer.parseInt(id));
        }
    }
}
